Generally, servers operate unmanned and provide a common service to a plurality of manned computers, all connected by a network of some sort. Typically, a server maintains one or more local disks and services application requests from remote computers such as reading and writing to shared directories. Specifically engineered servers include those by Sun Microsystems, based on Motorola 680x0 or SPARC microprocessors (from Sun Microsystems, Inc., Mt. View Calif.). Usually, these servers utilize a Unix operation system, and utilize a hardware architecture and software which is easily remotely administrated, including the provision for serial I/O at the boot level for the output of character-based diagnostic messages. Due to the ability to route a server's console output through a serial device to an administrating terminal, it is usual to omit a video display (running headless) and omit a keyboard input. Sometimes one set of video and keyboard interfaces may be switched among many servers locally, or through a network.
Increasingly, lower cost Intel Pentium-based microprocessor personal computers are now also being implemented as servers (referred to herein as a PC-Server). However, such a PC-Server, equipped with a conventional Basic Input/Output System (BIOS), cannot be as readily administered remotely.
In such IBM PC and compatible Personal Computers (PCs), the PC-BIOS provides the lowest level interface and hardware drivers for peripheral input/output (I/O) devices, such as video output, keyboard input and media I/O. The video output during boot up at the BIOS level is generally ASCII character based as the hardware and memory intensive graphical characteristics of a Graphical User Interface (GUI) requires application programs and capable peripherals (e.g. video display).
On boot up, such a PC-BIOS outputs certain status information to a local video display but, unlike the engineered servers, and except for custom designs, it is not generally capable of output other than through the local video display. Such information includes a character display confirmation of the successful operation and identification of the video display device, the amount of RAM and the current status of BIOS settings such as the processor type, hard drive specifications, and the presence and type of other installed I/O devices. Opportunities are provided to a user to interrupt the boot process with a keyboard stroke and thereby modify the system PC-BIOS configuration or peripherals settings.
Once the operating system is running however, application programs are available to enable a remote user to access and manipulate certain of the computer settings. Such an application program is pcAnywhere, supplied by Symantec Corporation, of Cupertino, Calif. The pcAnywhere program and protocol provides communication components which enable remote control capabilities through a phone line or an internet interface. The user installs and runs a version of the pcAnywhere program on both the remote and the host PCs. Once loaded and running, the user at the remote PC can remotely access data and control applications located on the host PC. The usual communication protocol between the PCs is the TCP/IP Network Protocol, accessed through an internet connection.
However, after a reboot, control is not regained until the operating system is again loaded and the pcAnywhere application program is running again, long after any diagnostic messages are past. In a diagnostic situation, generally to resolve the situation which prompted a restart of the PC in the first place, monitoring of the BIOS level information is the most pertinent.
Further, during normal use of the PC occasionally, extraordinary system level errors occur and messages are displayed directly in a default character or text format on the normal graphical interface video display. Again, these are only displayed on the local video display.
In U.S. Pat. No. 5,214,785 to Fairweather, a controller is disclosed for remote operation of a host PC, particularly for remotely initiating host PC application programs, downloaded to the controller for operating a plurality of external peripherals—like household line-powered devices—even after the host PC is powered down. Fairweather envisions powering the host PC through a controller peripheral for permitting hard reboot of the host PC via interruption of the PC's power. The controller operation is dictated through software downloaded from corresponding applications started by the controller and running on the host PC. The controller is provided physically external to the PC and comprises a microprocessor, ROM-resident software, an RS-232 serial I/O communication device, and a keyboard emulation interface. An application program may be started through commands issued through the emulated keyboard interface. Once running, host PC application program can writing ASCII commands to the controller or download a program to the controller's ROM through the host PC's RS-232 port. Fairweather acknowledges that once the host PC has been brought up to operating system level, then Fairweather's RS-232 application program may be started. Accordingly, Fairweather's controller operates “blind” until their corresponding application program is operational.
Others have implemented external hardware which connect to the video output of the PC's own video card and thus are capable of rebroadcasting the data that appears on a local terminal, including boot screens, via modem to a remote user running a compatible operating system such as Windows 9X (Microsoft Corporation). In other words, what is fed to the monitor is rebroadcast. The remote system operates pcAnywhere protocol to enables remote control of the hardware. The remote user is limited to the information which is displayed and not to the additional yet useful non-displayed POST diagnostic information.
Applicants are unaware of means, either in the prior art, including the teachings of Fairweather, for administering a typical BIOS-equipped PC through boot without actually monitoring a local video display or manipulating a local keyboard. Accordingly, it is not known to perform administration, troubleshooting or for maintenance on such a PC-Server including the ability to review system level messages or reset the system, including to address the installed peripherals or to command selection of a different boot device.
Accordingly, for a PC-Server which has a standard BIOS and is headless, there has not yet been a satisfactory solution for the demonstrated need to provide remote console output to effect proper PC-Server administration.